package com.platform.qujia.service;




import com.platform.qujia.param.request.AddPayOrderParam;
import com.platform.qujia.param.request.TradeReverseScanPayParameter;
import com.platform.qujia.pojo.*;

import java.util.List;

/**
 * 油企Mapper接口
 */
public interface EnterpriseService

{

    /**
     * 使用通联分账 实时到账时读取班次时间、标识
     * @param shiftClass
     * @return
     */
    List<ShiftClass> selectShiftClassList(ShiftClass shiftClass);

    /****
     * 获取油品列表
     * @return
     */
    List<Oil> selectOilInfoList();

    /*
     * 查询油企信息
     *
     * @param enterpriseId 油企信息ID
     * @return 油企信息
     */
    Enterprise selectEnterpriseInfo(Integer enterpriseId);

    /*
     * 根据微信卡券ID查询油企信息
     * @param cardId 微信卡券ID
     * @return 油企信息
     */
    Enterprise selectEnterpriseByCardId(String cardId);

    /*
     * 获取油企下油站信息
     * @param station 油站ID
     * @return
     */
    List<Station> selectStaInfoList(Station station);

    /*
     * 获取油站油枪列表信息
     * 此项只缓存油站id，不缓存有加油员码的
     * @param station 油站ID
     * @return
     */
    List<StaOilGun> selectStaOilGunList(StaOilGun  staOilGun);

    /*
     * 获取油站油枪列表信息
     * 此项不缓存油站id，只缓存有加油员码的
     * @param station 油站ID
     * @return
     */
    List<StaOilGun> selectStaOilGunListCache(String stationId, String userId, StaOilGun staOilGun);

    /**
     * 查询油站信息
     *
     * @param stationId 油站信息ID
     * @return 油企信息
     */
    public Station selectStationById(Integer stationId);

    /*
     * 根据油站ID查询油企配置信息
     * @param station 油站ID
     * @return
     */
    List<PayWay> selectStaPayWay(PayWay payWay);

    //获取油枪信息
    StaOilGun selectStaGunInfo(StaOilGun  staOilGun);

    Oil selectOilByOilId(Integer oilId);

    Oil selectOilByOilName(String oilName);

    public Enterprise selectEnterpriseByOriginId(String originId);

    public CustomerDialogueAdTemplate selectCustomerDialogueAdTemplateById(Long adId);

    /**
     * 根据油站id查询油企配置信息
     * @param payWay
     * @return
     */
    PayWay selectOneStaPayWay(PayWay payWay);
    
    public void isSetMno(AddPayOrderParam payParameter);
    
}
